home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekikoh Dennoh Club 1
/
Gekikoh Dennoh Club Vol. 1 (Japan).7z
/
Gekikoh Dennoh Club Vol. 1 (Japan) (Track 1).bin
/
kowin
/
dockob
/
mog.kob
< prev
next >
Wrap
Text File
|
1995-11-13
|
4KB
|
137 lines
/********************************************
/* もぐらったたき for こB! by v914AKSTN *
/********************************************
/********************
/* 起動時の初期設定 *
/********************
int i,x,y
dim int mog(8)
int mg=0
int sc=0,out=0
int mclick=0,mc0=50
ITIME=7
/****************************************
/* もぐらっの穴になるウィンドウを散らす *
/****************************************
for i=0 to 8
x=WINX+80*(i mod 3)+int(rnd()*24)-10
y=WINY+80*(i\3)+int(rnd()*24)-10
WindowSimpleOpen( i, x, y, 64, 64, 0 )
next
/**************************
/* 得点ウィンドウオープン *
/**************************
WindowTitleOpen( 9, WINX+80*3+20, WINY, 128, 64, 0, "もぐらったたき", 3 )
end
/******************
/* 初期設定終わり *
/******************
/******************************************
/* 再描画する必要が生じた時、呼び出される *
/******************************************
func Eredraw(wno)
if wno=9 then { /* 得点などのステータスボード
DrawClear( wno, 1 )
DrawSymbol( wno, 10, 10, "得点:"+right$(" "+str$(sc),6), 9, 16 )
DrawSymbol( wno, 10, 30, "オテツキ:"+right$(" "+str$(out),6), 9, 16 )
} else { /* もぐらっの穴
DrawClear( wno, 1 )
}
endfunc
/******************************************
/* マウスでクリックされた時、呼び出される *
/******************************************
func Emouse( wno )
int i
if info_Lon=0 then return(0) /* 左クリックされてんじゃなかったら、何もしない
if out>=5 then { /* ゲーム終わってる
if wno<9 then return(0)
for i=0 to 8:DrawClear(i,1):mog(i)=0:next
mg=0:sc=0:out=0:mclick=0:mc0=50
WindowRedraw(9) /* 得点ボード再描画
ITIME=7 /* ゲーム再スタート!!
return(1)
}
if wno=9 then return(0) /* 得点ボードだ
mclick=mclick+1
if mclick>=mc0 then { /* 50回クリックごとに早くなる
mc0=mc0+50
ITIME=ITIME-1
if ITIME=0 then ITIME=1
}
if mog(wno)>0 then { /* もぐらっを叩いた!
sc=sc+mog(wno) /* 点数加算
mog(wno)=-1 /* 次の interval で×を消す
DrawSymbol( wno, 8,8, "\/", 9, 24 ) /* 大きく×を描く
DrawSymbol( wno, 8,8+24, "/\", 9, 24 )
DrawSymbol( 9, 50, 10, right$(" "+str$(sc),6), 9, 16 )
} else if mog(wno)=0 then { /* スカしたっっっ!
out=out+1 /* おてつき
mog(wno)=-1 /* 次の interval で 'スカ' を消す
DrawSymbol( wno, 8,8, "スカ", 9, 24 )
DrawSymbol( wno, 8,8+24, "ッ!", 9, 24 )
DrawSymbol( 9, 50, 30, right$(" "+str$(out),6), 9, 16 )
}
endfunc
/**********************************
/* ITIME/100 秒ごとに呼び出される *
/**********************************
func Einterval( wno )
int m
if out>=5 then { /* 終わってたら、「終」を出す
ITIME=-1 /* interval off = ゲーム終了
for m=0 to 8
DrawClear( m, 1 )
DrawSymbol( m, 20,20, "終", 9, 24 )
next
return(0)
}
m=mog(mg)
if m then { /* もぐらっが顔を出している?
m=m-1
if m=0 then {
out=out+1 /* ニゲタゾ。
m=-1 /* 次の interval で「ニゲタゾ」を消す
DrawSymbol( mg, 8,8, "ニゲ", 9, 24 )
DrawSymbol( mg, 8,8+24, "タゾ", 9, 24 )
DrawSymbol( 9, 50, 30, right$(" "+str$(out),6), 9, 16 )
} else if m<0 then DrawClear( mg, 1 ):m=0
mog(mg)=m
} else {
if rnd()<.22-20.0/(sc+100) then { /* 新しくもぐらっが顔を出す?
mog(mg)=3 /* もぐらっ登録
DrawSymbol( mg, 8,8, "もぐ", 9, 24 )
DrawSymbol( mg, 8,8+24, "らっ", 9, 24 )
}
}
mg=mg+1
if mg>=9 then mg=0
endfunc
/*******************************
/* プログラム終わり H7/11/12 *
/*******************************